package com.zdkj.subway.st.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.zdkj.common.core.exceltools.HeaderToColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @ProjectName: zdkj
 * @Package: com.zdkj.subway.st.entity
 * @ClassName: SwStInvalidTicket
 * @Description:
 * @Author: kangjian
 * @CreateDate: 2020/1/7 11:13
 * @Version: 1.0
 */
@Data
@ApiModel(value = "无效票生成申请")
@EqualsAndHashCode(callSuper = true)
@TableName("sw_tk_invalid_ticket_produce")
public class SwStInvalidTicketProduce extends Model<SwStInvalidTicketProduce> {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "唯一标识")
    private Long id;

    @ApiModelProperty(value = "线路")
    @HeaderToColumn(header = "线路", index = 2)
    private String stationLine;

    @ApiModelProperty(value = "站点")
    @HeaderToColumn(header = "站点", index = 2)
    private String stationCode;

    @ApiModelProperty(value = "票种")
    @HeaderToColumn(header = "票种", index = 3)
    private String ticketType;

    @ApiModelProperty(value = "车票名称")
    @HeaderToColumn(header = "车票名称", index = 3)
    private String ticketName;

    @ApiModelProperty(value = "车票剩余次数")
    private Integer ticketTimesRemain;

    @ApiModelProperty(value = "车票剩余金额")
    private BigDecimal ticketPriceRemain;

    @ApiModelProperty(value = "班次")
    private String classNumber;

    @ApiModelProperty(value = "数据源(0:车站,1:线网)")
    @HeaderToColumn(header = "数据源", index = 3)
    private String dataSource;

    @ApiModelProperty(value = "数据来源(手动新增,同步无效票)")
    @HeaderToColumn(header = "数据来源", index = 3)
    private String ticketSource;

    @ApiModelProperty(value = "新票卡有效期")
    @HeaderToColumn(header = "新票卡有效期", index = 3)
    private String activeTime;

    @ApiModelProperty(value = "原卡号")
    @HeaderToColumn(header = "原卡号", index = 2)
    private String oldCardOrder;

    @ApiModelProperty(value = "申请时间")
    @HeaderToColumn(header = "申请时间", index = 5)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate applyTime;

    @ApiModelProperty(value = "是否生产")
    private String isProduce;

    @ApiModelProperty(value = "审核状态")
    @HeaderToColumn(header = "审核状态", index = 6)
    private String checkStatus;

    @ApiModelProperty(value = "审核建议")
    @HeaderToColumn(header = "审核建议", index = 7)
    private String checkReason;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "发卡人ID")
    private String cardIssuerId;

    @ApiModelProperty(value = "发卡人")
    private String cardIssuer;

    @ApiModelProperty(value = "部门ID")
    private Integer deptId;

    @ApiModelProperty(value = "创建人ID")
    private Integer creatorId;

    @ApiModelProperty(value = "创建人名称")
    private String creatorName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime create_time;

    @ApiModelProperty(value = "申请时间 DTO")
    @TableField(exist = false)
    private String applyTimeDTO;

    @ApiModelProperty(value = "提交状态")
    private String submitStatus;

}
